package com.dianban.dao;

import com.dianban.entity.FacePayStoreOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface FacePayStoreOrderDao {

    FacePayStoreOrder findById(@Param("id") Long id);

    FacePayStoreOrder findByOrderNumber(@Param("orderNumber") String orderNumber);

    FacePayStoreOrder findByPayNumber(@Param("payNumber") String payNumber);

    List<FacePayStoreOrder > findVerifyList(@Param("userId") Long  userId,@Param("storeId") Long storeId,@Param("money") String money,@Param("payStatus")Integer payStatus,@Param("payType")String payType);

    int insert(FacePayStoreOrder facePayStoreOrder);

    int updateState(@Param("id") Long id,@Param("payStatus") Integer payStatus, @Param("updatetime")Long updatetime);

    int updateVerify(@Param("id") Long id,@Param("hasVerifyCount") Integer hasVerifyCount, @Param("takenewHasVerifyCount") Integer takenewHasVerifyCount, @Param("updatetime")Long updatetime);

    int updateCommissionStatus(@Param("id") Long id,@Param("commissionStatus") Integer commissionStatus, @Param("updatetime")Long updatetime);

    void updatePayTypeAndChannel(@Param("id") Long id, @Param("payTypeAndChannel") String payTypeAndChannel);

    int updateSlj(FacePayStoreOrder facePayStoreOrder);

    List<FacePayStoreOrder> findByParams(@Param("monthDayBegin") String monthDayBegin, @Param("monthDayEnd") String monthDayEnd, @Param("userId") Long userId, @Param("storeId") Long storeId, @Param("payType") String payType, @Param("payStatus") String payStatus, @Param("money") String money);

    List<Map<String, Object>> statistics(@Param("storeIdList") List<String> storeIdList);

    void update(FacePayStoreOrder facePayStoreOrder);
}
